Method, apparatus, signals and media, for selecting operating conditions of a genset

ABSTRACT

A method for producing a plurality of cost values associated with operating a genset at respective operating points, the genset including an engine coupled to an electrical power generator, the method including assigning weights to each of a plurality of operating conditions associated with operating the genset having a plurality of operating points each comprising an engine speed value and a generator electrical power output value, said weights representing a desired trade-off between said plurality of operating conditions, receiving operating condition values corresponding to each of said plurality of operating conditions, said operating condition values associated with operating the genset at each of the plurality of operating points, and producing the cost values for each operating point by combining said operating condition values in accordance with said weights for each respective operating point.

RELATED APPLICATIONS

This application is a divisionsal application of U.S. patent applicationSer. No. 11/821,855, filed Jun. 26, 2007, which claims benefit of andpriority to U.S. Provisional Application Ser. No. 60/816,503, filed Jun.26, 2006 under 35 U.S.C. §§119, 120, 363, 365, and 37 C.F.R. §1.55 and§1.78, each of which is incorporated herein by this reference.

FIELD OF INVENTION

This invention relates generally to selecting operating conditions of anengine coupled to an electrical power generator for generatingelectrical power.

Advances in engine and hybrid vehicle technology have continuallyreduced harmful pollutant emissions. Hybrid vehicles having an enginedriving a generator (a genset) cause emissions such as nitrogen oxides,carbon monoxide, hydrocarbons, and particulate matter. Each emission hasa characteristic dependence on a power output level of the generator,and a rotational speed of the engine. Furthermore, given the presentclimate of higher prices of fossil fuels, there is a correspondingdesire to reduce fuel consumption of the engine, thereby reducing thecost of operating the genset.

In particular, in electric hybrid vehicles, where the genset may supplyelectrical power to a drive motor and/or a charger for charging astorage battery, choosing operating points for the vehicle that minimizefuel consumption while simultaneously minimizing emissions or otheroperating conditions is a multi-variable problem and selecting operatingpoints for the genset usually involves trading off between variousemissions and fuel consumption to meet a desired criterion.

There remains a need for better methods and apparatus for selectingoperating points of a genset, for use in hybrid vehicles and otherapplications.

SUMMARY OF THE INVENTION

In accordance with one aspect of the invention there is provided amethod for selecting optimal operating conditions of a genset, thegenset including an engine coupled to an electrical power generator, thegenset having a plurality of operating points each including an enginespeed value and a generator electrical power output value, and having aplurality of cost values associated with operating the genset atrespective operating points. The method involves selecting a set ofoperating points from the plurality of operating points such that a sumof cost values associated with operating points in the set is minimizedand such that the engine speed and generator electrical power outputvalues of the operating points in the set increase or decreasemonotonically.

The method may involve assigning a weight to each of the power outputvalues such that cost values corresponding to more frequently demandedpower output values are assigned a greater weight in the sum of costvalues than cost values corresponding to less frequently demandedelectrical power output values.

Assigning the weight may involve assigning greater weight to electricalpower output values proximate a midpoint of a range of power outputsthat the generator is capable of supplying.

The method may involve generating a record of received demands for poweroutputs during operation of the genset over a period of time, andassigning the weights may involve assigning greater weight to morefrequently used power output values.

Generating the record may involve generating the record and updating theweights while operating the genset, and selecting may involve selectinga new set of operating points when the weights have been updated.

Selecting may involve successively applying a dynamic programmingalgorithm to select sets of operating points at successive power outputvalues within a range of power outputs the generator is capable ofsupplying, and selecting a set of operating points corresponding to alast power output value in the range as the minimized set of operatingpoints for the genset.

Applying the dynamic programming algorithm may involve producing a firstplurality of the sums of cost values at a first power output value andmemoizing a result of at least one of the first plurality of the sums.The method may further involve using at least some of the memoizedresults for producing a further sum of cost values at a subsequent poweroutput value.

Selecting may involve locating a minimum cost value at each power outputvalue and successively applying the dynamic programming algorithm mayinvolve first producing the sums of cost values corresponding to theminimum cost value at each successive power output value.

Locating the minimum cost value may involve locating an operating pointcorresponding to the minimum cost value using a golden section searchtechnique.

The method may involve receiving a demand to supply power at a demandedpower output value and operating the genset at an operating point in theset of operating points corresponding to the demanded power outputvalue.

The genset may be used to generate electrical energy for use in a hybridelectrical vehicle and receiving the demand may involve receiving ademand to supply power to at least one of a drive motor, a chargeroperable to charge a storage element, and an accessory associated withthe hybrid vehicle.

Receiving the demand to supply power to the charger may involvereceiving a demand to supply power to the charger while the hybridelectric vehicle remains stationary.

Receiving the demand to supply power to the drive motor may involvereceiving a drive signal from an operator foot pedal representing adesired drive power to be supplied by the drive motor to wheels of thehybrid vehicle.

The storage element may be operable to supply at least a first portionof the desired drive power, and receiving the demand may involvereceiving a demand for a second portion of the desired drive power.

Receiving the demand to supply power to the charger may involvereceiving a charge signal from a storage element controller, the chargesignal being produced in response to a state of charge associated withthe storage element.

The method may involve receiving a plurality of cost values.

The method may involve selecting a new set of operating points inresponse to receiving the plurality of cost values.

Selecting may involve selecting the set of genset operating points priorto operating the genset.

In accordance with another aspect of the invention there is provided anapparatus for selecting operating conditions of a genset, the gensetincluding an engine coupled to an electrical power generator, the gensethaving a plurality of operating points each including an engine speedvalue and a generator electrical power output value, and having aplurality of cost values associated with operating the genset atrespective operating points. The apparatus includes provisions forselecting a set of operating points from the plurality of operatingpoints such that a sum of cost values associated with operating pointsin the set is minimized and such that the engine speed and generatorelectrical power output values of the operating points in the setincrease or decrease monotonically.

The apparatus may include provisions for assigning a weight to each ofthe power output values such that cost values corresponding to morefrequently demanded power output values are assigned a greater weight inthe sum of cost values than cost values corresponding to less frequentlydemanded electrical power output values.

The provisions for assigning the weight may include provisions forassigning greater weight to electrical power output values proximate amidpoint of a range of power output values that the generator is capableof supplying.

The apparatus may include provisions for generating a record of receiveddemands for power outputs during operation of the genset over a periodof time, and the provisions for assigning the weights may includeprovisions for assigning greater weight to more frequently used poweroutput values.

The provisions for generating the record may include provisions forupdating the weights while operating the genset, and the provisions forselecting may be operably configured to select a new set of operatingpoints when the weights have been updated.

The provisions for selecting may include provisions for successivelyapplying a dynamic programming algorithm to select sets of operatingpoints at successive power output values within a range of power outputsthe generator is capable of supplying and provisions for selecting a setof operating points corresponding to a last power output value in therange as the minimized set of operating points for the genset.

The provisions for applying the dynamic programming algorithm mayinclude provisions for producing a first plurality of the sums of costvalues at a first power output value, provisions for memoizing a resultof at least one of the first plurality of the sums, and provisions forusing at least some of the memoized results for producing a further sumof cost values at a subsequent power output value.

The provisions for selecting may include provisions for locating aminimum cost value at each power output value and the provisions forsuccessively applying the dynamic programming algorithm may includeprovisions for first producing the sums of cost values corresponding tothe minimum cost value at each successive power output value.

The provisions for locating the minimum cost value may includeprovisions for performing a golden section search technique.

The apparatus may include provisions for receiving a demand to supplypower at a demanded power output value and provisions for operating thegenset at an operating point in the set of operating pointscorresponding to the demanded power output value.

The genset may be used to generate electrical energy for use in a hybridelectrical vehicle and the provisions for receiving the demand mayinclude provisions for receiving a demand to supply power to at leastone of a drive motor, a charger operable to charge a storage element,and an accessory associated with the hybrid vehicle.

The provisions for receiving the demand to supply power to the chargermay include means for receiving a demand to supply power to the chargerwhile the hybrid electric vehicle remains stationary.

The storage element may include at least one of a storage battery, acapacitor, and an electrically coupled flywheel.

The provisions for receiving the demand to supply power to the drivemotor may include provisions for receiving a drive signal from anoperator foot pedal representing a desired drive power to be supplied bythe drive motor to wheels of the hybrid vehicle.

The storage element may be operable to supply at least a first portionof the desired drive power, and the demand may include a demand for asecond portion of the desired drive power.

The provisions for receiving the demand to supply power to the chargermay include provisions for receiving a charge signal from a storageelement controller, the charge signal being produced in response to astate of charge associated with the storage element.

The apparatus may include provisions for receiving a plurality of costvalues.

The apparatus may include provisions for selecting a new set ofoperating points in response to receiving the plurality of cost values.

The provisions for selecting may include provisions for selecting theset of genset operating points prior to operating the genset.

In accordance with another aspect of the invention there is provided anapparatus for selecting operating conditions of a genset, the gensetincluding an engine coupled to an electrical power generator, the gensethaving a plurality of operating points each including an engine speedvalue and a generator electrical power output value, and having aplurality of cost values associated with operating the genset atrespective operating points. The apparatus includes a processor circuitoperable to select a set of operating points from the plurality ofoperating points such that a sum of cost values associated withoperating points in the set is minimized and such that the engine speedand generator electrical power output values of the operating points inthe set increase or decrease monotonically.

The processor circuit may be operably configured to assign a weight toeach of the power output values such that cost values corresponding tomore frequently demanded power output values are assigned a greaterweight in the sum of cost values than cost values corresponding to lessfrequently demanded electrical power output values.

The processor circuit may be operably configured to assign greaterweight to electrical power output values proximate a midpoint of a rangeof power outputs that the generator is capable of supplying.

The processor circuit may be operably configured to generate a record ofreceived demands for power outputs during operation of the genset over aperiod of time, and to assign greater weight to more frequently usedpower output values.

The processor circuit may be operably configured to update the weightswhile operating the genset and to select a new set of operating pointswhen the weights have been updated.

The processor circuit may be operably configured to successively apply adynamic programming algorithm to select sets of operating points atsuccessive power output values within a range of power outputs thegenerator is capable of supplying and select a set of operating pointscorresponding to a last power output value in the range as the minimizedset of operating points for the genset.

The processor circuit may be operably configured to produce a firstplurality of the sums of cost values at a first power output value,memoize a result of at least one of the first plurality of the sums, anduse at least some of the memoized results for producing a further sum ofcost values at a subsequent power output value.

The processor circuit may be operably configured to locate a minimumcost value at each power output value and to apply the dynamicprogramming algorithm to first produce the sums of cost valuescorresponding to the minimum cost value at each successive power outputvalue.

The processor circuit may be operably configured to locate the minimumcost value using a golden section search technique.

The processor circuit may be operably configured to receive a demand tosupply power at a demanded power output value and to operate the gensetat an operating point in the set of operating points corresponding tothe demanded power output value.

The genset may be used to generate electrical energy for use in a hybridelectrical vehicle and the processor circuit may be operably configuredto receive a demand to supply power to at least one of a drive motor, acharger operable to charge a storage element, and an accessoryassociated with the hybrid vehicle.

The processor circuit may be operably configured to receive the demandto supply power to the charger while the hybrid electric vehicle remainsstationary.

The storage element may include at least one of a storage battery, acapacitor, and an electrically coupled flywheel.

The processor circuit may be operably configured to receive a drivesignal from an operator foot pedal representing a desired drive power tobe supplied by the drive motor to wheels of the hybrid vehicle.

The storage element may be operable to supply at least a first portionof the desired drive power, and the demand may include a demand for asecond portion of the desired drive power.

The processor circuit may be operably configured to receive a chargesignal from a storage element controller, the charge signal beingproduced in response to a state of charge associated with the storageelement.

The processor circuit may be operably configured to receive a pluralityof cost values.

The processor circuit may be operably configured to select a new set ofoperating points in response to receiving the plurality of cost values.

The processor circuit may be operably configured to select the set ofgenset operating points prior to operating the genset.

In accordance with another aspect of the invention there is provided acomputer readable medium encoded with codes for directing a processorcircuit to perform a method for selecting optimal operating conditionsof a genset, the genset including an engine coupled to an electricalpower generator, the genset having a plurality of operating points eachincluding an engine speed value and a generator electrical power outputvalue, and having a plurality of cost values associated with operatingthe genset at respective operating points. The method involves selectinga set of operating points from the plurality of operating points suchthat a sum of cost values associated with operating points in the set isminimized and such that the engine speed and generator electrical poweroutput values of the operating points in the set increase or decreasemonotonically.

in accordance with another aspect of the invention there is provided acomputer readable signal encoded with codes for directing a processorcircuit to perform a method for selecting optimal operating conditionsof a genset, the genset including an engine coupled to an electricalpower generator, the genset having a plurality of operating points eachincluding an engine speed value and a generator electrical power outputvalue, and having a plurality of cost values associated with operatingthe genset at respective operating points. The method involves selectinga set of operating points from the plurality of operating points suchthat a sum of cost values associated with operating points in the set isminimized and such that the engine speed and generator electrical poweroutput values of the operating points in the set increase or decreasemonotonically.

In accordance with another aspect of the invention there is provided adata structure for facilitating transfer of a set of operating pointsused in operating a genset, the genset including an engine coupled to anelectrical power generator, the genset having a plurality of operatingpoints each including an engine speed value and a generator electricalpower output value, and having a plurality of cost values associatedwith operating the genset at respective operating points. The datastructure includes a set of operating points, each operating pointincluding an engine speed data element and a linked power output dataelement, the engine speed data elements in the set having values thatminimize a sum of the cost values associated with operating the gensetat respective operating points, the engine speed data elements and thepower output data elements in the set having monotonically increasing ordecreasing values.

In accordance with another aspect of the invention there is provided amethod for producing a plurality of cost values associated withoperating a genset at respective operating points, the genset includingan engine coupled to an electrical power generator, the genset having aplurality of operating points each including an engine speed value and agenerator electrical power output value. The method involves assigningweights to each of a plurality of operating conditions associated withoperating the genset, the weights representing a desired trade-offbetween the plurality of operating conditions, receiving operatingcondition values corresponding to each of the plurality of operatingconditions, the operating condition values associated with operating thegenset at each of the plurality of operating points. The method furtherinvolves producing the cost values for each operating point by combiningthe operating condition values in accordance with the weights for eachrespective operating point.

Receiving the operating condition values may involve one of receiving acomputer readable signal encoded with codes representing the operatingcondition values, and reading a computer readable medium encoded withcodes representing the operating condition values.

Receiving may involve receiving a set of data values representingexpected values of the operating conditions.

The method may involve producing a signal representing a real-time valueof at least one of the operating condition values and receiving mayinvolve receiving the signal.

Receiving the operating condition values may involve receiving valuesrepresenting at least one of a fuel consumption level, a nitrogen-oxideemission level, a carbon monoxide emission level, a hydrocarbon emissionlevel and a particulate matter emission level.

Receiving the operating condition values may involve receiving a fuelconsumption level and a level of at least one engine emission.

Assigning the weights may involve receiving user input at a userinterface associated with the genset and updating the weights inaccordance with the user input.

Producing the cost values may involve calculating a weighted sum of theoperating condition values for each of the plurality of genset operatingpoints.

The method may involve normalizing the operating condition values andcombining the operating condition values may involve combining thenormalized operating condition values.

In accordance with another aspect of the invention there is provided anapparatus for producing a plurality of cost values associated withoperating a genset at respective operating points, the genset includingan engine coupled to an electrical power generator, the genset having aplurality of operating points each including an engine speed value and agenerator electrical power output value. The apparatus includesprovisions for assigning weights to each of a plurality of operatingconditions associated with operating the genset, the weightsrepresenting a desired trade-off between the plurality of operatingconditions, provisions for receiving operating condition valuescorresponding to each of the plurality of operating conditions, theoperating condition values associated with operating the genset at eachof the plurality of operating point, and provisions for producing thecost values for each operating point by combining the operatingcondition values in accordance with the weights for each respectiveoperating point.

The provisions for receiving the operating condition values may includeone of provisions for receiving a computer readable signal encoded withcodes representing the operating condition values, and provisions forreading a computer readable medium encoded with codes representing theoperating condition values.

The provisions for receiving may include provisions for receiving a setof data values representing expected values of the operating conditions.

The apparatus may include provisions for producing a signal representinga real-time value of at least one of the operating condition values, andthe apparatus may further include provisions for receiving the signal.

The provisions for receiving the operating condition values may includeprovisions for receiving values representing at least one of a fuelconsumption level, a nitrogen-oxide emission level, a carbon monoxideemission level, a hydrocarbon emission level, and a particulate matteremission level.

The provisions for receiving the plurality of operating condition valuesmay include provisions for receiving a fuel consumption level and alevel of at least one engine emission.

The provisions for assigning the weights may include provisions forreceiving user input at a user interface associated with the genset andprovisions for updating the weights in accordance with the user input.

The provisions for producing the cost values may include provisions forcalculating a weighted sum of the operating condition values for each ofthe plurality of genset operating points.

The apparatus may include provisions for normalizing the operatingcondition values prior to combining the operating condition values.

In accordance with another aspect of the invention there is provided anapparatus for producing a plurality of cost values associated withoperating a genset at respective operating points, the genset includingan engine coupled to an electrical power generator, the genset having aplurality of operating points each including an engine speed value and agenerator electrical power output value. The apparatus includes aprocessor circuit, operably configured to assign weights to each of aplurality of operating conditions associated with operating the genset,the weights representing a desired trade-off between the plurality ofoperating conditions. The processor circuit is operably configured toreceive operating condition values corresponding to each of theplurality of operating conditions, the operating condition valuesassociated with operating the genset at each of the plurality ofoperating points. The processor circuit is operably configured toproduce the cost values for each operating point by combining theoperating condition values in accordance with the weights for eachrespective operating point.

The processor circuit may be operably configured to receive one of acomputer readable signal encoded with codes representing the operatingcondition values, and a computer readable medium encoded with codesrepresenting the operating condition values.

The processor circuit may be operably configured to receive a set ofdata values representing expected values of the operating conditions.

The apparatus may include a sensor operably configured to produce asignal representing a real-time value of at least one of the operatingcondition values and the processor circuit may be operably configured toreceive the signal.

The processor circuit may be operably configured to receive operatingcondition values representing at least one of a fuel consumption level,a nitrogen-oxide emission level, a carbon monoxide emission level, ahydrocarbon emission level, and a particulate matter emission level.

The processor circuit may be configured to receive operating conditionvalues representing a fuel consumption level and a level of at least oneengine emission.

The processor circuit may be operably configured to receive user inputat a user interface associated with the genset and to update the weightsin accordance with the user input.

The processor circuit may be operably configured to calculate a weightedsum of the operating conditions for each of the plurality of gensetoperating points.

The processor circuit may be operably configured to normalize theoperating condition values prior to combining the operating conditionvalues.

In accordance with another aspect of the invention there is provided acomputer readable medium encoded with codes for directing a processorcircuit to carry out a method for producing a plurality of cost valuesassociated with operating a genset at respective operating points, thegenset including an engine coupled to an electrical power generator, thegenset having a plurality of operating points each including an enginespeed value and a generator electrical power output value. The methodinvolves assigning weights to each of a plurality of operatingconditions associated with operating the genset, the weightsrepresenting a desired trade-off between the plurality of operatingconditions, receiving operating condition values corresponding to eachof the plurality of operating conditions, the operating condition valuesassociated with operating the genset at each of the plurality ofoperating points and producing the cost values for each operating pointby combining the operating condition values in accordance with theweights for each respective operating point.

In accordance with another aspect of the invention there is provided acomputer readable signal encoded with codes for directing a processorcircuit to carry out a method for producing a plurality of cost valuesassociated with operating a genset at respective operating points, thegenset including an engine coupled to an electrical power generator, thegenset having a plurality of operating points each including an enginespeed value and a generator electrical power output value. The methodinvolves assigning weights to each of a plurality of operatingconditions associated with operating the genset, the weightsrepresenting a desired trade-off between the plurality of operatingconditions, receiving operating condition values corresponding to eachof the plurality of operating conditions, the operating condition valuesassociated with operating the genset at each of the plurality ofoperating points and producing the cost values for each operating pointby combining the operating condition values in accordance with theweights for each respective operating point.

In accordance with another aspect of the invention there is provided adata structure for facilitating transfer of cost value data for use inoperating a genset at respective operating points, the genset includingan engine coupled to an electrical power generator. The data structureincludes a collection of linked data elements, the data elementsincluding a plurality of operating points each including an engine speedvalue and a generator electrical power output value and a cost valuecorresponding to each of said operating points, each cost valuerepresenting a weighted combination of a plurality of operatingconditions associated with operating the genset at the operating point.

Other aspects and features of the present invention will become apparentto those ordinarily skilled in the art upon review of the followingdescription of specific embodiments of the invention in conjunction withthe accompanying figures.

BRIEF DESCRIPTION OF THE DRAWINGS

In drawings which illustrate embodiments of the invention,

FIG. 1 is a schematic diagram of an apparatus for selecting operatingconditions of a genset in accordance with a first embodiment of theinvention;

FIG. 2 is a processor circuit for use in the apparatus shown in FIG. 1;

FIG. 3 is a table, depicting a data structure for use in the apparatusshown in FIGS. 1 and 2;

FIG. 4 is a schematic diagram of an apparatus for selecting operatingconditions of a genset in accordance with a second embodiment of theinvention;

FIG. 5 is a flowchart of a process for producing cost values executed bythe processor circuit shown in FIG. 2;

FIG. 6 is a table of operating condition values used in producing thecost values in the process shown in FIG. 5;

FIG. 7 is a flowchart of a process for selecting a set of operatingconditions executed by the processor circuit shown in FIG. 2;

FIG. 8 is a graphical depiction of the operating points selected in theprocess shown in FIG. 7; and

FIG. 9 is a schematic diagram of a hybrid electric vehicle.

DETAILED DESCRIPTION

Selecting Operating Points

Referring to FIG. 1, an apparatus for selecting operating conditions ofa genset 10 is shown generally at 12. The genset 10 includes an engine14 and a generator 16, the engine being coupled to the generator by ashaft 20. The genset 10 has a plurality of operating points, eachincluding an engine speed value and a generator electrical power outputvalue. The genset 10 also has a plurality of cost values associated withoperating the genset at respective operating points. The apparatus 12further includes a processor circuit 18, which is operable to select aset of operating points from the plurality of operating points such thata sum of cost values associated with operating points in the set isminimized and such that the engine speed and generator electrical poweroutput values of the operating points in the set increase or decreasemonotonically.

The generator 16 further includes an output 22 for delivering theelectrical power output to be used, for example, in operation of ahybrid electric vehicle.

In the embodiment shown the processor circuit 18 also includes an output28 for producing control signals and the engine 14 includes an interface30 for receiving an engine control signal from the processor circuit.Optionally, the generator 16 may include an interface 32, for receivinga generator control signal from the processor circuit 18 (for example,to set a field current level in a DC electric generator).

The processor circuit 18 also includes an input 24 for receiving datavalues such as cost values, and an input 26 for receiving a demand tosupply electrical power.

The processor circuit 18 is shown in greater detail in FIG. 2. Referringto FIG. 2, the processor circuit 18 includes a central processing unit(CPU) 40, a program memory 42, a random access memory (RAM) 44, a mediareader/writer 46, and an input output port (I/O) 48. The program memory42, the RAM 44, the media reader/writer 46, and the I/O 48, are all incommunication with the CPU 40.

The I/O 48 includes the input 26 for receiving the power demand. In theembodiment shown the I/O 48 also includes the output 28 for producing anengine/generator control signal to control the engine 14. The I/O 48 mayoptionally include an input 62 for receiving user input, as describedlater herein.

The media reader/writer 46 facilitates loading program codes into theRAM memory 44 from a computer readable medium, such as a CD ROM disk 52,or a computer readable signal 54 such as may be received from a networksuch as a telephone network or the internet, for example. Optionally,the plurality of cost values may be encoded on the computer readablemedium 50, and the CPU 40 may be configured to load the cost values intothe processor circuit 18, and store the cost values in a location 56 inthe RAM 44. The RAM 44 further includes locations 58, 60, and 64 forstoring operating condition values, weights a_(i), and operating points(power output values and corresponding speed values) respectively, asdescribed later herein.

Data Structure-Cost Values

Referring to FIG. 3, the plurality of cost values are shown in a tabularformat at 70. The table 70 includes a plurality of power output valuerows 71, each row corresponding to a generator power output value thatthe generator is capable of supplying. In the embodiment shown in FIG.3, the genset 10 is capable of supplying power in 5 kW increments, up toa maximum power of 35 kW. In other embodiments the power increment maybe greater than or less than 5 kW, and the maximum power may be higherthan 35 kW. The plurality of rows 71 includes a row 72 corresponding toa no-load power output value, a row 74 corresponding to a 5 kW poweroutput value, a row 76 corresponding to a 10 kW power output value, etc.Each row 71 includes a plurality of rotational speeds 80 at which thegenset 10 is capable of supplying power. For example, the row 76,corresponding to a 10 kW power output value, may be supplied at any ofthe rotational speeds 80.

Values 82, in the table 70, represent cost values associated withoperating the genset 10 at various operating points, each operatingpoint being defined by a power output value and a correspondingrotational speed 80. For example, the value 84 represents the operatingcost associated with operating the genset 10 at a speed of 2800 rpmwhile supplying a 10 kW power output.

It may not be practical to supply some power output values at some ofthe listed rotational speeds 80. For example, the region 90 in the table70 includes high rotational speeds 80 at which it may not be practicalto supply low, or no load, power output values. Similarly, the region 92in the table 70 includes low rotational speeds 80 at which it may not bepractical to supply high power output values. Accordingly, in thisembodiment, no cost values are assigned to operating points in theregions 90 and 92.

The plurality of values 82 in the table 70, therefore representoperating costs associated with operating at a plurality differentoperating points at which the genset 10 is capable of supplyingelectrical power.

In one embodiment data representing the table 70 is encoded on a CD-ROMdisk and loaded into the location 56 in the RAM 44, shown in FIG. 2.Alternatively, the data representing the table 70 may be encoded on acomputer readable signal and loaded into the location 56. The computerreadable signal may be received over an internet connection, over aserial or parallel cable, a wireless connection, or any other medium fortransferring data, for example.

Generating Cost Values

Referring to FIG. 4, an apparatus for producing the plurality of costvalues in accordance with one embodiment of the invention is showngenerally at 110. The apparatus 110 includes the genset 10, shown inFIG. 1, and also includes the processor circuit 18, shown in FIG. 1 andFIG. 2. However, it should be understood that the apparatus 110 may beimplemented using a separate processor circuit.

As described above the output 28 of the processor circuit 18 is incommunication with the interface 30 of the engine 14 for controlling theengine, and optionally the output 28 may also be in communication withthe interface 32 of the generator 16, for controlling the generator. Theprocessor circuit 18 also includes an input 112 for receiving operatingcondition values.

The engine 14 further includes a plurality of sensors 114 for sensingoperating conditions of the engine. The sensors 114 may include, forexample, a fuel sensor 116, a hydrocarbon (HC) sensor 118, a carbonmonoxide (CO) 120, and a nitrogen-oxide (NO_(x)) sensor 122. Othersensors may be included in the plurality of sensors 114, such as aparticulate matter sensor (not shown). The sensors 114-122 each have anassociated output 124-130 respectively. Each of the outputs 124-130produces a signal representing the respective operating conditions. Theoutputs 124-130 are in communication with the input 112 of the processorcircuit 18.

Operation—Generating Cost Values

The operation of the apparatus 110 is described with reference to FIG.2, FIG. 4, FIG. 5, and FIG. 6. Referring to FIG. 5, a flow chartdepicting blocks of code for directing the processor circuit 18 in FIG.2 to produce the plurality of cost values, is shown generally at 160.The blocks generally represent codes that may be read from the computerreadable medium 50, and stored in the program memory 42, for directingthe CPU 40 to perform various functions related to producing theplurality of cost values. The actual code to implement each block may bewritten in any suitable program language, such as C, C++ and/or assemblycode, for example.

The process begins with a first block of codes 162, which directs theCPU 40 to assign weights a_(i) to the operating conditions and to storethe operating condition weights in the location 60 in the RAM 44.

In one embodiment the processor circuit may implement a user interface(not shown) and block 164 may optionally direct the CPU 40 to receiveuser input at the I/O input 62 (shown in FIG. 2). The user input may bereceived from a keyboard or other user input device, for example.

Block 166 directs the processor circuit 18 to receive the operatingcondition values from the sensors 114 (shown in FIG. 4) at the input112. Block 166 further directs the processor circuit 18 to cause theoperating condition values to be stored in the location 58 in the RAM44.

Referring to FIG. 6 the operating condition values are presented intabular format at 200. The table 200 includes operating condition values224 for a plurality of operating conditions 210, including a fuelconsumption operating condition 202, a hydrocarbon emission operatingcondition 204, a carbon monoxide emission operating condition 206, and anitrogen oxide emission operating condition 208.

The operating condition values received from the plurality of sensors114 may include operating condition values expressed in a number ofdifferent units of measurement. For example, the hydrocarbon, carbonmonoxide, and nitrogen oxide operating condition values, which representengine emissions, may be expressed in parts per million (ppm), while thefuel consumption operating condition value may be expressed in kilogramsof fuel consumed per hour of operation (kWh). Accordingly, block 168directs the processor circuit 18 to normalize the operating conditionvalues stored in the location 58 of the RAM 44.

The operating condition values 224 in the table 200 corresponding toeach of the operating conditions 210 are separately normalized such thateach operating condition includes values ranging from 0.000 to 1.000.For example the fuel consumption operating condition values maygenerally range from 0 kg/h to about 8.4 kg/h for one particular engine14, and the values in the table 200 are normalized so that the no load,1600 rpm fuel consumption value is 0.000 while the 35 kW, 3400 rpmconsumption value is 1.000. Operating condition values for otheroperating conditions are similarly normalized over the operating powerrange of values 222 and the engine speed range of values 220. Note thatthe operating condition values in the Table 200 were determined byexperiment and may include noise and/or experimental error and are usedherein for illustrative purposes only.

Referring back to FIG. 5, the process continues at block 170, whichdirects the processor circuit 18 to read the RAM 44 to retrieve thenormalized operating condition values from the location 58 and to readthe weights a_(i) stored in the location 60. Block 170 further directsthe processor circuit 18 to apply the weights to the operating conditionvalues 224 to produce the cost values 82 in the table 70 (shown in FIG.3). The cost values 82 in the table 70 were generated by applying thefunction below to the normalized operating condition values in the table200:

$\begin{matrix}{O_{j} = {\sum\limits_{i = 1}^{n}{a_{i} \cdot C_{i}}}} & \left( {{Equation}\mspace{14mu} 1} \right)\end{matrix}$

where O_(j) are the cost values associated with the plurality ofoperating points, C, are the operating condition values 224corresponding to the plurality of operating conditions 210. For sake ofsimplicity, in generating the cost values in the table 70 the weightsa_(i) were set to unity, which assigns equal weight to each of theoperating conditions 210.

Other cost value combination functions may also be used to combine thecost values C_(i) in other ways.

The operating condition values 224 in the table 200 may be produced byoperating the genset 10 (shown in FIG. 4) at the power output values 222while receiving signals from the sensors 114, which represent thereal-time values of the operating conditions 210.

In other embodiments the operating condition values may be producedbefore operating the genset 10. For example a manufacturer of the engine14 may provide expected operating condition values for a specific typeof engine. Alternatively the operating condition values may beestablished by performing tests on an engine of type and/or performancesimilar to the engine 14. Such values may be provided on the computerreadable medium 50 and may be loaded into the processor circuit 18 usinga media reader, such as the media reader/writer shown at 46 in FIG. 2.

Referring back to FIG. 5, in embodiments where at least one of theoperating condition values is a real-time value provided by a sensor 114the processor circuit may periodically repeat execution of the blocks166, 168, and 170, thereby producing a new set of cost values based onchanged operating condition values.

In other embodiments, it may desirable to alter the weights a_(i) overtime to compensate for changes in environment or the genset 10, in whichcase the blocks 166 to 170 may be repeated with the updated weights,thus producing new cost values 82.

Finding Local Minimum Cost Values

Referring back to FIG. 3, a minimum cost value for each power output row71 may easily be identified by inspection of the values 82, or byperforming a simple linear search for a minimum value in the row.However, in some embodiments the genset 10 may include a largerplurality of possible operating points, in which case a simple linearsearch for a minimum value for each power output row 71 may be slow orimpractical, particularly in real-time implementations.

In one embodiment, a golden section search is used to find the minimumcost value at each successive power output value. The golden sectionsearch is a bracketing technique, which may be applied to a set ofvalues to find a single minimum value in the set between an upper boundbracket value and a lower bound bracket value. The search begins byselecting upper and lower bound brackets at end points of the range ofengine speeds 80 in the table 70. The upper and lower bound brackets arethen successively narrowed until a minimum is found. The techniquederives its name from the golden ratio, which has been found to be aneffective bracketing ratio. Applying the golden ratio involves selectingan intermediate engine speed 80 between the upper bound bracket and thelower bound bracket that is 0.38197 from one end and 0.61803 from theother end, and then moving the bracket having a greater correspondingcost value 82, to the intermediate engine speed, which then becomes thenew upper or lower bound bracket. The process is then repeated until theminimum cost value coincides with either the upper bound bracket or thelower bound bracket, in which case the lesser of the cost valuescorresponding to the upper and lower bound brackets is the minimum costvalue.

The application of the golden section search technique to finding theminimum cost value for each power output row 71 is described withreference to the row 76 of the table 70. The first step in theapplication of the technique is to select 1600 rpm as the lower boundbracket and 3400 rpm as the upper bound bracket, and to calculate anintermediate point between the upper bound bracket and the lower boundbracket using the golden section ratio of 0.38197, yielding anintermediate point of 2287 rpm. The speed value 2200 rpm the closestvalue to the calculated intermediate value of 2287 rpm. Since the costvalue at 3400 rpm is 0.791, which is larger than the cost values at 2200rpm and 1600 rpm, a new upper bound bracket of 2200 rpm is selected.Using the new upper bound bracket of 2200 rpm and the lower boundbracket of 1600 rpm, the golden ratio is again applied to find anintermediate point, which in this case evaluates to 1829 rpm. Thisintermediate point is closest to the 1800 rpm speed value. Again theupper bound bracket value of 2200 rpm has a corresponding cost value of0.550 which is larger than the cost values at 1800 and 1600 rpm.Accordingly the new upper bound bracket is chosen at 1800 rpm. Becausethere are no intermediate values between the 1800 rpm upper boundbracket value and the 1600 rpm lower bound bracket value, the minimum ofthese two values represents the minimum cost value in the row 76, whichin this case is 0.526 or 1800 rpm.

Advantageously the golden section search allows quick convergence on aminimum value in a plurality of values having a single minimum betweenan upper bound and a lower bound. Referring to FIG. 3, the minimum costvalue for each power output row 71 is indicated in bold italic typefacein the table 70.

Selecting Operating Points

A set of operating points corresponding to each of the bolded costsvalues in the table 70, would minimize the overall genset operatingcost. However such a set of values would result in a rotational speed ofthe engine increasing in a somewhat sporadic manner in response tomonotonically increasing power output values 71. For example, if theoutput power were to increase from a no load value to 15 kW, theoperating speed at no load would start at 1600 rpm, and then jump to2000 rpm as the power output is increased to 10 kW, and then the speedwould reduce to 1800 rpm again at 15 kW. While such a set of operatingpoints may optimize the sum of the cost values shown in the table 70,other operating conditions such as the lifetime of the engine,mechanical stresses in the engine, drivability for hybrid vehicleimplementations, and other factors, may not be optimized by selectingthese local minimum cost values at each power output value.

Accordingly an additional constraint is placed on the selection of theset of operating values. The additional constraint requires that theengine speed increase (or decrease) monotonically with monotonicallyincreasing (or decreasing) electrical power output value. Accordingly,in response to each increase in power output value, the engine speedvalue should either stay the same or should increase.

In general, selecting an optimal set of operating points involvesselecting a set of operating points from the table 70. This involvesselecting a particular rotational speed at each power output value, andthen computing a sum of the cost values for the set of operating points.A set of operating points that has the lowest sum of cost values, whilemeeting the constraint of monotonically increasing speed, will be theoptimal set of operating points.

The sum of cost values for a set of operating points may be written as:

$\begin{matrix}{{Sum} = {\sum\limits_{j = 1}^{n}O_{j}}} & \left( {{Equation}\mspace{14mu} 2} \right)\end{matrix}$

where O_(i) are the cost values 82 at each of n power output values 71(in FIG. 3 n=8).

In general, when operating the genset 10, some power outputs may be morefrequently used than other power outputs. For example, when operating ahybrid electric vehicle, power output values proximate a midpoint of therange of power outputs that the generator is capable of supplying, maybe more frequently used than power output values at a lower end and ahigher end of the range. Accordingly, in one embodiment, the sums may becomputed using the function below:

$\begin{matrix}{{Sum} = {\sum\limits_{j = 1}^{n}{b_{j} \cdot O_{j}}}} & \left( {{Equation}\mspace{14mu} 3} \right)\end{matrix}$

where b_(j) are weights that cause cost values corresponding to morefrequently demanded power output values to be assigned greater weight inthe sum than cost values corresponding to less frequently demandedelectrical power output values. In a hybrid electric vehicle, theweights b_(j) may be used to reflect real world drive cycles when thevehicle is operated in a particular terrain. The weight factors b_(j)may further be modified when genset operating conditions change, thusfacilitating adaptation of the genset to a changing environment.

Dynamic Programming Selection Technique

In one embodiment a dynamic programming technique is used to select theset of operating points for the genset 10. In dynamic programming anoptimization problem is divided into sub-optimization problems, whichare successively optimized to obtain an overall optimized solution. Inthe following description, for sake of clarity it is assumed that theweights b_(j) are all unity (i.e. all power output values have the sameimportance as per Equation 2). In practice, higher weights may be setfor some operating conditions that other operating conditions inaccordance with the relative impact of the various conditions on theenvironment, and/or the cost of operating the genset, for example.

The selection of the set of operating points using a dynamic programmingalgorithm is described with reference to FIG. 3, FIG. 7, and FIG. 8.Referring to FIG. 7 a flow chart depicting blocks of code for directingthe processor circuit 18 (shown in FIG. 2) to select the set ofoperating conditions, is shown generally at 230. The blocks generallyrepresent codes that may be read from the computer readable medium 50,and stored in the program memory 42, for directing the CPU 40 to performvarious functions related to producing the plurality of cost values. Theactual code to implement each block may be written in any suitableprogram language, such as C, C++ and/or assembly code, for example.

The process begins with a first block of codes 232, which directs theprocessor circuit 18 to retrieve the first power output value from thelocation 64 of the RAM 44.

FIG. 8 shows a graphical depiction of the operating points 82 shown inFIG. 3, where each circle 250 represents an operating point having aparticular power output value 252 (x-axis), and a particular rotationalspeed 254 (y-axis). The first power output value 252 is 0 kW. However inother embodiments the optimization may start at a maximum power outputvalue, for example.

Referring back to FIG. 7, the process continues at block 234 whichdirects the processor circuit 18 to calculate the sum of cost values atthe first power output value of 0 kW.

Referring to FIG. 3, at a no-load power output value (0 kW), the minimumcost for the power output value row 72 in the table 70 occurs at 1600rpm. Block 236 thus directs the processor circuit 18 to select theengine speed 1600 rpm as the first operating point, since this point hasa minimum cost value. The operating point is shown in FIG. 8 at 260.Since the minimum cost value in the row 72 is selected, the sum of costvalues is the minimum operating cost at 0 kW (i.e. Sum=1.221).

Block 238 directs the processor circuit 18 to determine whether thepresent power output value is the last power output value. If “NO”, thenthe process continues at block 240, where the next power output value isread from the RAM 44 at location 64. The process then returns to block234.

The next power output value (5 kW) is read from the operating pointsstored in the location 64 in the RAM 44. Block 234 again directs theprocessor circuit to calculate the sum of cost values. At a 5 kW poweroutput, any of the speeds 1600 rpm-3400 rpm would satisfy the constraintof monotonically increasing the speed as the power output is increased.Since the minimum cost (0.819) meets the constraint, the sum of thiscost value and the cost value at 0 kW will result in minimum sum ofoperating costs up to and including the 5 kW power output value (i.e.Sum=1.221+0.819=2.040). Block 236 thus directs the processor circuit toadd the operating point 262 to the set of operating points. The processcontinues as described above through 10 kW to 35 kW power output values.

At 10 kW power output, the speeds 2000 rpm 3400 rpm would all satisfythe constraint of monotonically increasing the speed. However, eventhough the minimum cost for the power output value row 76 occurs at 1800rpm, the speed 1800 rpm (and 1600 rpm) would not satisfy the constraint.At this point in the process, an operating point 264 corresponding to aspeed of 2000 rpm, which meets the constraint but is not a minimum costoperating point, may be selected.

Alternatively, one or more of the previously selected operating pointsin the set may be changed, such that the minimum cost value in row 76may be selected while meeting the constraint. The decision of whichalternative to select made by calculating a plurality of cost value sumscorresponding to possible sets of operating points leading to theminimum cost value (0.309 @ 1800 rpm) and other cost values such as0.317 @ 1600 rpm and 0.333 @2000 rpm, for example. From the plurality ofcost value sums, a set of operating points that yields a minimum sum isselected. For the values of cost values indicated in the table 70, theminimum sum occurs for the operating point set (0 kw, 1600 rpm), (5 kW,2000 rpm), (10 kW, 2000 rpm). If however, the minimum sum of cost valueswere to correspond to a different set of operating points, this may haveresulted in changing a previously selected operating point in the set.For example, if the minimum sum had corresponded to the set of operatingpoints (0 kw; 1600 rpm), (5 kW, 1800 rpm), (10 kW, 1800 rpm), then theoperating point at 5 kW would have been changed from 2000 rpm to 1800rpm.

If at block 238 the power output value is at the last power outputvalue, then the process ends at block 242.

It may be appreciated that for each value in the power output value rows71, when calculating the sums of cost values, some portions of the sumsmay already have been calculated at a previous power value. For example,when optimizing at 5 kW output power, at least the sum from 1600 rpm to2000 rpm would have been calculated (Sum=221+0.819=2.040). Thus, whenoptimizing at 10 kW, in calculating the sum corresponding to the set ofoperating points (0 kw; 1600 rpm), (5 kW, 2000 rpm), (10 kW, 2000 rpm),the sum from 1600 rpm to 2000 rpm has already been calculated as 2.040.Accordingly, the number of calculations that are required at each poweroutput value may be reduced by memoizing results of previouscalculations. Memoization is a technique used to speed up computerprograms by storing the results of previous calculations for re-use,rather than re-computing them each time. Advantageously, memoizing has asignificant effect in reducing the number of operations required inselecting a set of operating points, thus facilitating computationallyefficient selection of operating points for the genset 10, when faced bya changing operating condition or change in either of the weights a_(i)or b_(j).

Referring again to FIG. 8, the process is successively applied at eachof the power output values 252 up to a 35 kW power output value until acomplete set of operating points has been selected as indicated by thebold line 258.

In the above description, for simplicity it was initially assumed thatthe weights b_(j) were all set to unity in accordance with Equation 2.The weights b_(j) are simply taken into account when applying thedynamic programming technique by calculating the sums in accordance withEquation 3 using weights b_(i) having differing values to account forreal-world conditions of use of the genset.

Hybrid Electric Vehicle Application

Referring to FIG. 9, a hybrid electric vehicle embodiment of theinvention is shown generally at 300. The hybrid vehicle 300 includes afirst pair of driven wheels 302 and a second pair of wheels 304. Thehybrid vehicle 300 further includes an electric drive motor 306, agearbox 308 and a coupling shaft 310. The drive motor 306 is coupled tothe driven wheels 302 through the gearbox 308 and the coupling shaft310, to provide mechanical power to the driven wheels.

The hybrid vehicle 300 also includes a storage element 312, which inthis embodiment includes a plurality of storage batteries 314 and aplurality of capacitor storage elements. The storage element 312 is incommunication with a first energy bus 318. In one embodiment thebatteries 314 are nickel metal hydride cells (NiMH), and the capacitor316 includes one or more ultracapacitors. In other embodiments thestorage element 312 may include batteries only, ultracapacitors only, ormay include a flywheel energy storage element. Flywheel energy storageelements generally operate by accelerating an electrically coupledflywheel rotor in a motor/generator to a high speed thus storinginertial energy in the flywheel for later use.

The hybrid vehicle 300 further includes a genset 320, which as describedabove includes an engine 322 coupled to an electrical generator 324. Thegenerator is in communication with a second energy bus 326. The genset320 also includes a processor circuit 332, which may be the processorcircuit 18 shown in FIGS. 1, 2, and 4.

The engine 320 may be any type of internal or external combustionengine, e.g. Otto, Atkinson and diesel cycle engines, Stirling engines,gas turbine engines etc. The engine 320 may also run on any type of fuelsuch as gasoline, diesel, biogas or other bio-fuels including cellulosicand other ethanols, propane etc.

The hybrid vehicle 300 also includes a controller 328, which is incommunication with the first and second energy busses 318 and 326, forreceiving electrical energy, and is also in communication with the drivemotor 306 for supplying energy to the drive motor to drive the wheels302. The controller may include various voltage converters such as aDC-DC converter for example to convert the electrical energy received onthe busses 318 and 326 into a voltage suitable for supplying the drivemotor 306. The controller 328 further includes an output 342 forproducing power demand signals. The output 342 is in communication withthe processor circuit 332.

In this embodiment the hybrid vehicle 300 includes a storage elementcontroller 340, which is in communication with the storage element 312for monitoring a state of charge of the storage element 312. The storageelement controller 340 is also in communication with the controller 328for providing a state of charge signal associated with a state of chargeof the storage element 312 to the controller.

The hybrid vehicle also includes a foot pedal 329 for producing a signalrepresenting a requested power to the drive motor for driving thewheels. The foot pedal 329 is in communication with the controller 328and is disposed in a driving compartment (not shown) of the hybridvehicle 300.

In this embodiment the hybrid vehicle also includes an accessory 330,such as compartment lighting, a wiper motor, a compartment cooling fan,etc. The controller 328 is in communication with the accessory 330 forsupplying electrical energy to the accessory at a suitable voltage &current (e.g. at 12V DC).

Operation of the Hybrid Vehicle

When an operator of the hybrid vehicle 300 depresses the foot pedal 329,a signal representing a requested power associated with an amount ofdepression of the foot pedal is produced. The controller 328 receivesthe requested power signal from the foot pedal 329, and the state ofcharge signal from the storage element controller 340, and responds byproducing a power demand signal at the output 342 for demanding a poweroutput from the genset 320. The power output demanded from the genset320 by the controller 328 depends on the state of charge of the storageelement 312 and the power request signal received from the foot pedal329. The power demand signal produced by the controller 328 may alsoinclude an additional demand for supplying power to the accessory 330.

The power requested by the operator's depression of the foot pedal 329may thus be supplied by the storage element 312 over the bus 318, by thegenset 320 over the bus 326, or by a combination of both. The requestfor drive power to be delivered to the wheels 203 is thus satisfied bypower supplied by the genset 320 alone, or by the storage element 312alone, or by a combination of a first portion of power supplied by thestorage element and a second portion of power supplied by the genset.

Alternatively, if the storage element 312 is discharged, then thestorage element controller produces a state of charge signal indicatingthat charging of the storage element 312 is required. The controller 328then responds by producing a power demand signal to the genset 320 thatincludes an additional demand for power to charge the storage element312, and the genset 320 is required to generate power for satisfyingboth the power request from the foot pedal 329, and a power demand forcharging the storage element 312.

When the operator removes releases the foot pedal 329 withoutdisengaging the gearbox 308, causing the hybrid vehicle 300 to coast,power from the wheels 302 drive the motor 306 thus generating electricalpower, which advantageously may be coupled through the controller 328 tocharge the storage element 312. If the storage element is fully chargedthis power may need to be dissipated in a resistor, for example.

The processor circuit 332 and genset 320 operates as described above inconnection with the genset 10 and the processor circuit 18. In theembodiment shown, the processor circuit 332 receives a set of operatingpoints (for example the operating points shown in FIG. 8 at 258) thathave been determined externally to the vehicle 300 and stored on acomputer readable medium, such as the computer readable medium 50 shownin FIG. 2. The set of operating points is then read into the processorcircuit 332 using a media reader, such as the media reader/writer 46shown in FIG. 2. When operating the hybrid vehicle 300, the genset 320receives the power demand signal from the controller 328, and respondsby running the engine 322 at an engine speed corresponding to theoperating point in the set of operating points that corresponds to thedemanded power. The generator 324 responds by supplying the demandedlevel of power to the energy bus 326.

Alternatively, in another embodiment, the cost values 82 (shown in FIG.3) may be determined externally to the hybrid vehicle 300, stored on acomputer readable medium, and read into the processor circuit 332 usinga media reader. The processor circuit 332 may further be configured togenerate a record of received demands for power outputs during operationof the genset 320 over a period of time. The processor circuit 332 thencalculates the weights b_(j,) assigning greater weight to morefrequently used power output values, according to the record of receiveddemands. When the weights b_(j) have been updated, the processor circuit332 is configured to select the set of operating points using theexternally supplied cost values, as described above. Advantageously, inthis embodiment the vehicle 300 is able to adapt to a change inenvironment (for example, when moving the vehicle from a substantiallyflat terrain, to mountainous terrain) by changing the weights b_(j).

In another embodiment, the operating condition values (shown in FIG. 6)may be read into the vehicle by a media reader into the processorcircuit 332, and the cost values may be calculated on-board the hybridvehicle 300, thereby facilitating on-board changes to the weights a_(i)in accordance with Equation 1 for altering a desired-trade off betweenthe various operating conditions. Advantageously, in this embodiment thevehicle 300 is able to select new operating points reflecting adifferent desired trade off between the operating conditions. Forexample, when operating the vehicle in a city environment, emissions mayhave to meet stricter criteria than in more rural environments, and theweights a_(i) may be changed to reflect this difference.

In yet another embodiment, at least some of the operating conditionvalues are provided by on-board sensors, such as the sensors 114 shownin FIG. 4. In this embodiment, the operating condition values, costvalue values and the selection of a set of operating points for thegenset 320 all take place in on-board the vehicle 300 in the processorcircuit 332. Furthermore, in this embodiment, since the operatingconditions are represented by real-time signals from the sensors 114, itmay be more important to be able to quickly select a new set ofoperating points in response to changing operating condition values.Advantageously, the use of a dynamic programming technique provides acomputationally efficient method for selecting the operating points,thus reducing a hardware speed requirement for the processor circuit332. The sensing of operating condition values thus facilitates a quickresponse to changing conditions such as changes in fuel consumptionpatterns or emissions, due to changes in engine operation over time, forexample.

The hybrid vehicle 300 shown in FIG. 9 represents an example of what isoften referred to as a “serial hybrid vehicle”, in that the engine 322is not mechanically coupled to the wheels 302. Other configurations ofhybrid vehicles may include engines that are coupled to both a generatorand to a drive wheel of the vehicle, and may be referred to as “parallelhybrid vehicles”. At least some of the above described embodiments ofthe invention may be applicable to various configurations of parallelhybrid vehicles, where an engine is coupled to a generator. For example,when a hybrid vehicle is at a standstill and no power is being providedto the wheels, the engine and generator may be operated using operatingpoints selected as described above.

Other Optimization Methods

Other optimization methods may also be used to select the set ofoperating points for the gensets 10 or 320. In general an optimizationmethod is a search method that is able effectively to find a condition,which minimizes the function in Equation 1 or Equation 2, subject to theconstraint of monotonically increasing speed. One possible alternativeis to compute every possible sum in the range of power output values andengine speeds. Such a “brute force” technique is easy to implement buthas the potential downside of being slow in execution. Where quickresponse is required for onboard selection of operating points, moreefficient techniques such as steepest descent method, conjugategradients method, variable metric method, Newton's method, linearprogramming (including golden search), may be used in place of dynamicprogramming.

The method of steepest descent approaches the minimum in a zigzagmanner, where the new search direction is orthogonal to the previoussearch direction. However this method converges slowly, since after eachstep the method searches in an opposite direction. The method ofconjugate gradients attempts to alleviate this problems with steepestdescent methods to by “learning” from experience. Newton's methodresults in faster convergence, but not necessarily less computing timecompared against steepest descent and conjugate gradient methods.

While specific embodiments of the invention have been described andillustrated, such embodiments should be considered illustrative of theinvention only and not as limiting the invention as construed inaccordance with the accompanying claims.

1. A method for producing a plurality of cost values associated withoperating a genset at respective operating points, the genset includingan engine coupled to an electrical power generator, the methodcomprising: assigning weights to each of a plurality of operatingconditions associated with operating the genset having a plurality ofoperating points each comprising an engine speed value and a generatorelectrical power output value, said weights representing a desiredtrade-off between said plurality of operating conditions; receivingoperating condition values corresponding to each of said plurality ofoperating conditions, said operating condition values associated withoperating the genset at each of the plurality of operating points; andproducing the cost values for each operating point by combining saidoperating condition values in accordance with said weights for eachrespective operating point.
 2. The method of claim 1 wherein receivingsaid operating condition values comprises one of: receiving a computerreadable signal encoded with codes representing said operating conditionvalues; and reading a computer readable medium encoded with codesrepresenting said operating condition values.
 3. The method of claim 1wherein receiving comprises receiving a set of data values representingexpected values of said operating conditions.
 4. The method of claim 1further comprising producing a signal representing a real-time value ofat least one of said operating condition values and wherein receivingcomprises receiving said signal.
 5. The method of claim 1 whereinreceiving said operating condition values comprises receiving valuesrepresenting at least one of: a fuel consumption level; a nitrogen-oxideemission level; a carbon monoxide emission level; a hydrocarbon emissionlevel; and a particulate matter emission level.
 6. The method of claim 1wherein receiving said operating condition values comprises receiving afuel consumption level and a level of at least one engine emission. 7.The method of claim 1 wherein assigning said weights comprises receivinguser input at a user interface associated with the genset and updatingsaid weights in accordance with said user input.
 8. The method of claim1 wherein producing said cost values comprises calculating a weightedsum of said operating condition values for each of said plurality ofgenset operating points.
 9. The method of claim 1 further comprisingnormalizing said operating condition values and wherein combining saidoperating condition values comprises combining said normalized operatingcondition values.
 10. An apparatus for producing a plurality of costvalues associated with operating a genset at respective operatingpoints, the genset comprising an engine coupled to an electrical powergenerator, the apparatus comprising: a processor circuit, operablyconfigured to assign weights to each of a plurality of operatingconditions associated with operating the genset having a plurality ofoperating points each comprising an engine speed value and a generatorelectrical power output value, said weights representing a desiredtrade-off between said plurality of operating conditions; said processorcircuit being operably configured to receive operating condition valuescorresponding to each of the plurality of operating conditions, saidoperating condition values associated with operating the genset at eachof said plurality of operating points; and said processor circuit beingoperably configured to produce the cost values for each operating pointby combining said operating condition values in accordance with saidweights for each respective operating point.
 11. The apparatus of claim10 wherein said processor circuit is operably configured to receive oneof: a computer readable signal encoded with codes representing saidoperating condition values; and a computer readable medium encoded withcodes representing said operating condition values.
 12. The apparatus ofclaim 10 wherein said processor circuit is operably configured toreceive a set of data values representing expected values of saidoperating conditions.
 13. The apparatus of claim 10 further comprising asensor operably configured to produce a signal representing a real-timevalue of at least one of said operating condition values and whereinsaid processor circuit is operably configured to receive said signal.14. The apparatus of claim 10 wherein the processor circuit is operablyconfigured to receive operating condition values representing at leastone of: a fuel consumption level; a nitrogen-oxide emission level; acarbon monoxide emission level; a hydrocarbon emission level; and aparticulate matter emission level.
 15. The apparatus of claim 10 whereinsaid processor circuit is configured to receive operating conditionvalues representing a fuel consumption level and a level of at least oneengine emission.
 16. The apparatus of claim 10 wherein said processorcircuit is operably configured to receive user input at a user interfaceassociated with the genset and to update said weights in accordance withsaid user input.
 17. The apparatus of claim 10 wherein said processorcircuit is operably configured to calculate a weighted sum of saidoperating conditions for each of said plurality of genset operatingpoints.
 18. The apparatus of claim 10 wherein said processor circuit isoperably configured to normalize said operating condition values priorto combining said operating condition values.
 19. A computer readablemedium encoded with codes for directing a processor circuit to carry outa method for producing a plurality of cost values associated withoperating a genset at respective operating points, the genset comprisingan engine coupled to an electrical power generator, the methodcomprising: assigning weights to each of a plurality of operatingconditions associated with operating the genset a plurality of operatingpoints each comprising an engine speed value and a generator electricalpower output value, said weights representing a desired trade-offbetween said plurality of operating conditions; receiving operatingcondition values corresponding to each of said plurality of operatingconditions, said operating condition values associated with operatingthe genset at each of the plurality of operating points; and producingthe cost values for each operating point by combining said operatingcondition values in accordance with said weights for each respectiveoperating point.
 20. A computer readable signal encoded with codes fordirecting a processor circuit to carry out a method for producing aplurality of cost values associated with operating a genset atrespective operating points, the genset comprising an engine coupled toan electrical power generator, the genset having a plurality ofoperating points each comprising an engine speed value and a generatorelectrical power output value, the method comprising: assigning weightsto each of a plurality of operating conditions associated with operatingthe genset, said weights representing a desired trade-off between saidplurality of operating conditions; receiving operating condition valuescorresponding to each of said plurality of operating conditions, saidoperating condition values associated with operating the genset at eachof said plurality of operating points; and producing the cost values foreach operating point by combining said operating condition values inaccordance with said weights for each respective operating point.
 21. Adata structure for facilitating transfer of cost value data for use inoperating a genset at respective operating points, the genset comprisingan engine coupled to an electrical power generator, the data structurecomprising: a collection of linked data elements, said data elementscomprising: a plurality of operating points each comprising an enginespeed value and a generator electrical power output value; and a costvalue corresponding to each of said operating points, each cost valuerepresenting a weighted combination of a plurality of operatingconditions associated with operating the genset at said operating point.